#ifndef WIDGETMAINWINDOW_H
#define WIDGETMAINWINDOW_H

#include <QtWidgets/QMainWindow>
#include <QtWidgets/QAction>
#include <QTimer>

namespace Ui {
class WidgetMainWindow;
}

class WidgetMainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit WidgetMainWindow(QWidget *parent = 0);
    virtual ~WidgetMainWindow();


    void setWidgetToDockLeft(QWidget* widgetPtr);
    void setWidgetToDockRight(QWidget* widgetPtr);
    void setWidgetToDockDown(QWidget* widgetPtr);

	QAction* getAction(const QString& name);

public slots:

    void slotActionFileOpen(bool value);
    void slotActionOpenFileNormal(bool value);
    void slotActionSaveFile(bool value);
    void slotActionShowTypeList(bool value);
    void slotActionDataMonitor(bool value);
    void slotActionReflection(bool value);
    void slotActionPlugin(bool value);
    void slotActionUndo(bool value);
    void slotActionRedo(bool value);


    void slotTimerOutECommandManager();
    
signals:
    void signalOpenNormal(const QString& fileName);
    void signalSaveFile(const QString& fileName);
    void signalDataMonitor(const QString& info);


private:
    Ui::WidgetMainWindow *ui;
    QTimer* m_timerECommandManager;
};

#endif // WIDGETMAINWINDOW_H
